import torch


class MyModel(torch.nn.Module):
    def __init__(self):
        super().__init__()

    def forward(self, x):
        return x + 1


model = MyModel()
"""
model(x): 这种调用实际上是调用了__call__方法，如果没有这个方法就调用父类的__call__方法：
__call__ -> _wrapped_call_impl -> _call_impl:
forward_call = (self._slow_forward if torch._C._get_tracing_state() else self.forward)
所以默认调用的是self.forward方法
如果没有forward方法，则会抛出Error：Module [MyModel] is missing the required "forward" function
"""
y = model(2.0)
print(y)
